<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>测试微信支付页面</title>
    <script src="https://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
    <script type="text/javascript">
        /* wx.config({
         debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
         appId: appid, // 必填，公众号的唯一标识
         timestamp: timestamp, // 必填，生成签名的时间戳
         nonceStr: nonceStr, // 必填，生成签名的随机串
         signature: '',// 必填，签名，见附录1
         jsApiList: [chooseWXPay] // 必填，需要使用的JS接口列表，所有JS接口列表见附录2
         }); */

        // config信息验证后会执行ready方法，所有接口调用都必须在config接口获得结果之后，config是一个客户端的异步操作
        //所以如果需要在页面加载时就调用相关接口，则须把相关接口放在ready函数中调用来确保正确执行
        //wx.ready(function(){
        //参数是后台传过来的，签名加密，随机数，时间戳等全部后台处理好
        var appId="${appId}";
        var timeStamp="${timeStamp}";
        var nonceStr="${nonceStr}";
        var prepay_id="${prepay_id}";//之前参数名叫package,对应api接口，因为package是关键字，被坑了一次
        var sign="${paySign}";
        //支付接口
        function onBridgeReady(){
            WeixinJSBridge.invoke(
                'getBrandWCPayRequest', {
                    "appId" : appId,     //公众号名称，由商户传入
                    "timeStamp" : timeStamp, //时间戳，自1970年以来的秒数 (java需要处理成10位才行，又一坑)
                    "nonceStr" : nonceStr, //随机串
                    "package" : prepay_id, //拼装好的预支付标示
                    "signType" : "MD5",//微信签名方式
                    "paySign" : sign //微信签名
                },
                function(res){
                    //使用以下方式判断前端返回,微信团队郑重提示：res.err_msg将在用户支付成功后返回    ok，但并不保证它绝对可靠。
                    if(res.err_msg == "get_brand_wcpay_request:ok" ) {
                        alert("支付成功");
                    }else{
                        alert("支付失败");
                    }
                }
            );
        }
        if (typeof(WeixinJSBridge) == "undefined"){
            if( document.addEventListener ){
                document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
            }else if (document.attachEvent){
                document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
                document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
            }
        }else{
            onBridgeReady();
        }
        //});
        //究竟哪个是支付接口
        /* wx.chooseWXPay({
         timestamp: timestamp, // 支付签名时间戳，注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
         nonceStr: nonceStr, // 支付签名随机串，不长于 32 位
         package: 'prepay_id', // 统一支付接口返回的prepay_id参数值，提交格式如：prepay_id=***）
         signType: 'MD5', // 签名方式，默认为'SHA1'，使用新版支付需传入'MD5'
         paySign: sign, // 支付签名
         success: function (res) {
         // 支付成功后的回调函数
         //使用以下方式判断前端返回,微信团队郑重提示：res.err_msg将在用户支付成功后返回    ok，但并不保证它绝对可靠。
         if(res.err_msg == "get_brand_wcpay_request:ok" ) {

         }
         }
         }); */
    </script>
</head>
<body>

</body>
</html>